package com.zimin.cloud.user.controller.api;


import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.zimin.cloud.mine.pojo.user.business.FollowingGroupBO;
import com.zimin.cloud.mine.pojo.user.business.UserFollowingBO;
import com.zimin.cloud.mine.pojo.user.business.UserInfoBO;
import com.zimin.cloud.user.pojo.entity.UserInfo;
import com.zimin.shared.pojo.Result;
import io.swagger.annotations.ApiOperation;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;

/**
 * <p>
 * 用户关注表 前端控制器 接口
 * </p>
 *
 * @author zimin
 * @since 2022-06-14 15:53
 */
@RequestMapping
public interface IUserFollowingController {

    /**
     * <p>添加用户关注列表</p>
     *
     * @param userFollowingBO
     * @return com.zimin.shared.pojo.Result
     * @since 2022-06-27 18:55:25
     */
    @PostMapping("/user-followings")
    @ApiOperation(value = "添加用户关注列表", notes = "添加用户关注列表", httpMethod = "POST")
    Result addUserFollowings(@RequestBody UserFollowingBO userFollowingBO);

    /**
     * <p>获取用户关注列表</p>
     *
     * @return com.zimin.shared.pojo.Result
     * @since 2022-06-27 19:00:43
     */
    @GetMapping("/user-followings")
    @ApiOperation(value = "获取用户关注列表", notes = "获取用户关注列表", httpMethod = "GET")
    Result getUserFollowings();

    /**
     * <p>获取粉丝列表</p>
     *
     * @return com.zimin.shared.pojo.Result
     * @since 2022-06-27 19:01:37
     */
    @GetMapping("/user-fans")
    @ApiOperation(value = "获取粉丝列表", notes = "获取粉丝列表", httpMethod = "GET")
    Result getUserFans();

    /**
     * <p>添加用户关注分组</p>
     *
     * @param followingGroupBO 用户关注分组对象
     * @return com.zimin.shared.pojo.Result
     * @since 2022-06-28 21:35:15
     */
    @PostMapping("/user-following-fans")
    @ApiOperation(value = "添加用户关注分组", notes = "添加用户关注分组", httpMethod = "POST")
    Result addUserFollowingGroups(@RequestBody FollowingGroupBO followingGroupBO);

    /**
     * <p>获取用户关注分组</p>
     *
     * @return com.zimin.shared.pojo.Result
     * @since 2022-06-28 21:47:54
     */
    @GetMapping("/user-following-fans")
    @ApiOperation(value = "获取用户关注分组", notes = "获取用户关注分组", httpMethod = "GET")
    Result getUserFollowingGroups();

}
